Grid computing is the virtualization of distributed computing resources such as processing power, networks bandwidth and storage capacity to create a single system image, granting users and applications seamless access to vast IT capabilities. A source for more information about Grid computing is found in “The Physiology of the Grid—an open grid services architecture for distributed systems integration” by Foster, Kesselman, Nick and Tuecke published on the world wide web at: “www.globus.org/research/papers/ogsa.pdf which paper is incorporated herein by reference.
A paper “Grid Computing Distribution Using Network Processors” by Llevist and Bengsson, Chalmers University of Technology discusses grid computing. The paper focuses on a proposal of a new computing model that distribute both the code and data to nodes of network (grid), the routers of the network will determine which nodes should be selected to execute the code based on the knowledge collected by the routers.
In a patent “Multi-Server File Download”—U.S. Pat. No. 6,339,785 B1 (Feigenbaum) incorporated herein by reference, when download speed from a server falls below pre-defined expected rate, Feigenbaum removes the server. When a server is finished its portion of data chunk Feigenbaum does not use it anymore if not necessary (if all other servers are above a pre-defined expected rate). Significantly in the Feigenbaum patent, there are situations where 2 servers are ranked 10 k/s. Then download begins with two identical chunks. The first server does 10 k/s, so it complies with expected speed. The second server does 1000 k/s (because network is dynamic . . . ) and finished it s chunk right away. Feigenbaum will keep the first chunk at 10 k/s until finished . . . (“SHOULD THE PERFORMANCE OF THE SERVER FALL BELOW A PREDEFINED LEVEL, THE LINK IS DISCONTINUED”). There is no method to reassign the 10 k/s chunk to the 1000 k/s server and we go on with this process.
There is a need for intelligently downloading data from servers in a grid network.